#pragma once
#include <windows.h>
#include <stdint.h>

class CPhysMemUtils
{
public:

    static bool Initialize();
    static bool Uninitialize();

    static bool ReadPhysMem(DWORD_PTR pbPhysAddr, PBYTE buffer, DWORD dwPhysSize);
    static bool WritePhysMem(DWORD_PTR pbPhysAddr, PBYTE buffer, DWORD dwPhysSize);
    static bool ReadByte(DWORD_PTR pbPhysAddr, uint8_t* pVal);
    static bool WriteByte(DWORD_PTR pbPhysAddr, uint8_t nVal);
    static bool GetPortValue(uint8_t port, uint8_t* pVal);
    static bool SetPortValue(uint8_t port, uint8_t nVal);

private:
    static HMODULE m_hModule;
};

